gtk-demo: Make gltransitions demo a bit snazzier
authorAlexander Larsson <alexl@redhat.com>
Wed, 30 Sep 2020 09:40:37 +0000 (11:40 +0200)
committerAlexander Larsson <alexl@redhat.com>
Wed, 30 Sep 2020 09:40:37 +0000 (11:40 +0200)
commite9885f9cdee2121f927f3b5b0c5603cf148acd3b
tree74ea5f245534ec78046a02b3bc33728d72b3ec98
parent87393c7fb6d533dbc3eeab533312c99ab80c1754
gtk-demo: Make gltransitions demo a bit snazzier

This adds a bunch of snazz to the gltransitions demo. It is perhaps
a bit overloaded now, but it demos everything that we can do.

Changes:
 * The fire shader is now not a bin, it just renders an animating
   background with no textures involved.
 * The stacks don't all start on the same page.
 * The shaderbin passes the mouse coordinate to the shader.
 * The shaderbin allows specifying a "border" so that you can
   cause effects outside the bin child (something that is new to gtk4).
 * All the buttons and the stacks are now in shader-bins that runs
   a wobbly-widget effect based on the mouse position that
   wobbles outside the child allocation.
demos/gtk-demo/demo.gresource.xml
demos/gtk-demo/fire.glsl
demos/gtk-demo/gltransition.c
demos/gtk-demo/gtkshaderbin.c
demos/gtk-demo/gtkshaderbin.h
demos/gtk-demo/gtkshaderstack.c
demos/gtk-demo/gtkshaderstack.h
demos/gtk-demo/ripple.glsl [new file with mode: 0644]